#pragma once

#include "Cooker.h"

/**
* This class cooks any triangle mesh, like the triangle mesh
* for a level for example.
* @author Koen Samyn
*/
class ConcaveCooker:public Cooker
{
public:
	/**
	* Creates a new ConcaveCooker object.
	* @param filename the file to cook.
	*/
	ConcaveCooker(tstring inputFile, tstring outputFile);
	/**
	* Destroys the ConcaveCooker object.
	*/
	virtual ~ConcaveCooker(void);
	/**
	* Cooks the concave object.
	*/
	bool Cook();
private:
	// -------------------------
	// Disabling default copy constructor and default assignment operator.
	// If you get a linker error from one of these functions, your class is internally trying to use them. This is
	// an error in your class, these declarations are deliberately made without implementation because they should never be used.
	// -------------------------
	ConcaveCooker(const ConcaveCooker& t);
	ConcaveCooker& operator=(const ConcaveCooker& t);
};
